
#include <cassert>
#include <iostream>
// #include <array>
using namespace std;

template <typename T, int D> class Array {
public:
  T data_[D];

public:
  Array(/* args */){};
  ~Array(){};
  void print() {
    for (size_t i = 0; i < D; i++) {
      std::cout << data_[i] << std::endl;
    }
  }
};

int main() {
  Array<int, 4> a;
  for (int i = 0; i < 4; ++i)
    a.data_[i] = i;
  a.print();

  Array<double, 2> b;
  for (int i = 0; i < 2; ++i)
    b.data_[i] = i;
  b.print();
  return 0;
}